home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Interactive 7
/
PC World Interactive 7.iso
/
program
/
pasprog.EXE
/
INTRO.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-09-10
|
3KB
|
143 lines
{ Programmed By : A.Serdar HAZAR for ─=≡ Programlama Sanati ≡=- }
uses dos,crt,unit1,unit2;
type
color = record
r,g,b : byte;
end;
var
i,x : word;
gd,gm : integer;
regs : registers;
palette : array[1..256] of color;
ilk : color;
leddurum : byte absolute $40:$17;
eski : byte;
palet2 : array[1..$300] of byte;
palet3 : array[1..$300] of byte;
a,b : byte;
begin
asm
mov ah,0
mov bx,0
mov si,seg muzik
mov es,si
mov si,offset muzik
end;
Hscobj;
regs.ax:=$1017;
regs.bx:=0;
regs.cx:=256;
regs.es:=seg(palet2[1]);
regs.dx:=ofs(palet2[1]);
intr($10,regs);
for a:=20 downto 0 do
begin
for x:=4 to $300 do palet3[x]:=trunc(palet2[x]*a/20);
regs.ax:=$1012;
regs.bx:=0;
regs.cx:=256;
regs.es:=seg(palet3[1]);
regs.dx:=ofs(palet3[1]);
intr($10,regs);
delay(20);
end;
asm
mov ax,13h;
int 10h
end;
move(mem[seg(resim)+2:ofs(resim)],palette,$300);
move(mem[seg(resim)+2:ofs(resim)],palet2,$300);
for x:=1 to $300 do palet3[x]:=0;
regs.ax:=$1012;
regs.bx:=0;
regs.cx:=256;
regs.dx:=ofs(palet3[1]);
regs.es:=seg(palet3[1]);
intr($10,regs);
move(mem[seg(resim)+$32:ofs(resim)],mem[$a000:0],64000);
for a:=0 to 20 do
begin
for x:=1 to $300 do palet3[x]:=trunc(palet2[x]*a/20);
regs.ax:=$1012;
regs.bx:=0;
regs.cx:=256;
regs.es:=seg(palet3[1]);
regs.dx:=ofs(palet3[1]);
intr($10,regs);
end;
eski:=leddurum;
regs.ax:=$1012;
regs.bx:=1;
regs.cx:=255;
repeat
i:=random(3);
if i=0 then begin
leddurum:=64;
delay(50);
end;
if i=1 then begin
leddurum:=32;
delay(50);
end;
if i=2 then begin
leddurum:=16;
delay(50);
end;
ilk:=palette[2];
move(palette[2],palette[1],sizeof(palette)-1);
palette[256]:=ilk;
regs.es:=seg(palette[1]);
regs.dx:=ofs(palette[1]);
intr($10,regs);
until keypressed;readkey;
move(palette[1],palet2[1],$300);
for a:=20 downto 0 do
begin
for x:=4 to $300 do palet3[x]:=trunc(palet2[x]*a/20);
regs.ax:=$1012;
regs.bx:=0;
regs.cx:=256;
regs.es:=seg(palet3[1]);
regs.dx:=ofs(palet3[1]);
intr($10,regs);
end;
asm
mov ax,3h;
int 10h
end;
leddurum:=eski;
regs.ax:=$1010;
regs.bx:=7;
regs.ch:=0;
regs.cl:=0;
regs.dh:=0;
intr($10,regs);
gotoxy(1,25);
writeln(' ─═ Prizma ═─ ');
writeln(' Turkish Amateur Programmers'' Group');
writeln(' Coded by A.Serdar HAZAR');
for i:= 0 to 42 do
begin
regs.ch:=i;
regs.cl:=i;
regs.dh:=i;
intr($10,regs);
delay(25);
end;
asm
mov ah,2
end;
Hscobj;
end.